home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
001-025
/
disk_013
/
speak.bas
< prev
next >
Wrap
BASIC Source File
|
1992-05-06
|
4KB
|
143 lines
10 REM SPEECH DEMO PROGRAM
20 REM By Dave Ebert (10/13/85)
30 screen 0,4,0
40 SCNCLR
50 HOW%(0)=110:HOW%(1)=0:HOW%(2)=150:HOW%(3)=0:HOW%(4)=22200:HOW%(5)=64:HOW%(6)=10:HOW%(7)=0:HOW%(8)=0
60 TEXT$="HELLO"
70 GOSUB 320
80 SCNCLR
90 PRINT " THE AMIGA SPEECH DEMONSTRATION"
100 PRINT:PRINT "Options:"
110 PRINT "========"
120 PRINT " [A] Voice Pitch"
130 PRINT " [B] Inflection"
140 PRINT " [C] Speaking Rate"
150 PRINT " [D] Male or Female"
160 PRINT " [E] Sampling Frequency"
170 PRINT " [F] Volume
180 PRINT " [G] Input Text for Speech"
190 PRINT " [H] End Program"
200 PRINT:PRINT "Choice ==>";
210 GETKEY C$
220 IF C$="a" or C$="A" THEN GOSUB 360
230 if C$="b" OR C$="B" THEN GOSUB 530
240 IF C$="c" OR C$="C" THEN GOSUB 710
250 IF C$="d" OR C$="D" THEN GOSUB 880
260 IF C$="e" OR C$="E" THEN GOSUB 1060
270 IF C$="f" OR C$="F" THEN GOSUB 1200
280 IF C$="g" OR C$="G" THEN GOSUB 1360
290 IF C$="h" OR C$="H" THEN GOTO 310
300 GOTO 80
310 END
320 REM SPEECH SUBROUTINE
330 A$=TRANSLATE$(TEXT$)
340 X%=NARRATE(A$,HOW%())
350 RETURN
360 REM VOICE PITCH
370 SCNCLR
380 PRINT " VOICE PITCH"
390 PRINT " ==========="
400 PRINT:PRINT
410 PRINT "Pitch Value (65-320)";
420 INPUT HOW%(0)
430 IF HOW%(0)<65 THEN GOTO 370
440 IF HOW%(0)>320 THEN GOTO 370
450 TEXT$="HELLO"
460 GOSUB 320
470 PRINT
480 PRINT "Finished";
490 INPUT F$
500 IF F$="Y" OR F$="y" THEN GOTO 520
510 GOTO 370
520 RETURN
530 REM INFLECTION
540 SCNCLR
550 PRINT " VOICE INFLECTION"
560 PRINT " ================"
570 PRINT:PRINT
580 PRINT "[0] - Inflection"
590 PRINT "[1] - Monotone"
600 PRINT:PRINT "Your Choice";
610 INPUT HOW%(1)
620 IF HOW%(1)<0 GOTO 540
630 IF HOW%(1)>1 GOTO 540
640 TEXT$="HELLO"
650 GOSUB 320
660 PRINT:PRINT "Finished";
670 INPUT F$
680 IF F$="Y" OR F$="y" THEN GOTO 700
690 GOTO 540
700 RETURN
710 REM SPEAKING RATE
720 SCNCLR
730 PRINT " SPEAKING RATE"
740 PRINT " ============="
750 PRINT:PRINT
760 PRINT "Words per minute (40-400)";
770 INPUT HOW%(2)
780 IF HOW%(2)<40 THEN GOTO 720
790 IF HOW%(2)>400 THEN GOTO 720
800 TEXT$="HELLO"
810 GOSUB 320
820 PRINT
830 PRINT "Finished";
840 INPUT F$
850 IF F$="Y" OR F$="y" THEN GOTO 870
860 GOTO 720
870 RETURN
880 REM SEX
890 SCNCLR
900 PRINT " VOICE SEX"
910 PRINT " ========="
920 PRINT:PRINT
930 PRINT "[0] - Male"
940 PRINT "[1] - Female"
950 PRINT:PRINT "Your choice";
960 INPUT HOW%(3)
970 IF HOW%(3)<0 GOTO 890
980 IF HOW%(3)>1 GOTO 890
990 TEXT$="HELLO"
1000 GOSUB 320
1010 PRINT:PRINT "Finished";
1020 INPUT F$
1030 IF F$="Y" OR F$="y" THEN GOTO 1050
1040 GOTO 890
1050 RETURN
1060 REM SAMPLING FREQUENCY
1070 SCNCLR
1080 PRINT " SAMPLING FREQUENCY"
1090 PRINT " =================="
1100 PRINT:PRINT "Desired Frequency (5000-28000)";:INPUT HOW%(4)
1110 IF HOW%(4)<5000 goto 1070
1120 IF HOW%(4)>28000 GOTO 1070
1130 TEXT$="HELLO"
1140 GOSUB 320
1150 PRINT:PRINT "Finished";
1160 INPUT F$
1170 IF F$="Y" OR F$="y" THEN GOTO 1190
1180 GOTO 1070
1190 RETURN
1200 REM VOICE VOLUME
1210 SCNCLR
1220 PRINT " VOICE VOLUME"
1230 PRINT " ============"
1240 PRINT:PRINT
1250 PRINT "Volume (0-64)";
1260 INPUT HOW%(5)
1270 IF HOW%(5)<0 GOTO 1210
1280 IF HOW%(5)>64 GOTO 1210
1290 TEXT$="HELLO"
1300 GOSUB 320
1310 PRINT:PRINT"Finished";
1320 INPUT F$
1330 IF F$="Y" OR F$="y" THEN GOTO 1350
1340 GOTO 1210
1350 RETURN
1360 REM TEXT INPUT SUBROUTINE
1370 SCNCLR
1380 INPUT "TEXT==>";TEXT$
1390 IF TEXT$="" THEN GOTO 1420
1400 GOSUB 320
1410 GOTO 1380
1420 RETURN